package com.kgc.springboot.aviation.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UsersExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UsersExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUsersNameIsNull() {
            addCriterion("users_name is null");
            return (Criteria) this;
        }

        public Criteria andUsersNameIsNotNull() {
            addCriterion("users_name is not null");
            return (Criteria) this;
        }

        public Criteria andUsersNameEqualTo(String value) {
            addCriterion("users_name =", value, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameNotEqualTo(String value) {
            addCriterion("users_name <>", value, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameGreaterThan(String value) {
            addCriterion("users_name >", value, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameGreaterThanOrEqualTo(String value) {
            addCriterion("users_name >=", value, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameLessThan(String value) {
            addCriterion("users_name <", value, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameLessThanOrEqualTo(String value) {
            addCriterion("users_name <=", value, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameLike(String value) {
            addCriterion("users_name like", value, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameNotLike(String value) {
            addCriterion("users_name not like", value, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameIn(List<String> values) {
            addCriterion("users_name in", values, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameNotIn(List<String> values) {
            addCriterion("users_name not in", values, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameBetween(String value1, String value2) {
            addCriterion("users_name between", value1, value2, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersNameNotBetween(String value1, String value2) {
            addCriterion("users_name not between", value1, value2, "usersName");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneIsNull() {
            addCriterion("users_phone is null");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneIsNotNull() {
            addCriterion("users_phone is not null");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneEqualTo(String value) {
            addCriterion("users_phone =", value, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneNotEqualTo(String value) {
            addCriterion("users_phone <>", value, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneGreaterThan(String value) {
            addCriterion("users_phone >", value, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("users_phone >=", value, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneLessThan(String value) {
            addCriterion("users_phone <", value, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneLessThanOrEqualTo(String value) {
            addCriterion("users_phone <=", value, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneLike(String value) {
            addCriterion("users_phone like", value, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneNotLike(String value) {
            addCriterion("users_phone not like", value, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneIn(List<String> values) {
            addCriterion("users_phone in", values, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneNotIn(List<String> values) {
            addCriterion("users_phone not in", values, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneBetween(String value1, String value2) {
            addCriterion("users_phone between", value1, value2, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersPhoneNotBetween(String value1, String value2) {
            addCriterion("users_phone not between", value1, value2, "usersPhone");
            return (Criteria) this;
        }

        public Criteria andUsersSexIsNull() {
            addCriterion("users_sex is null");
            return (Criteria) this;
        }

        public Criteria andUsersSexIsNotNull() {
            addCriterion("users_sex is not null");
            return (Criteria) this;
        }

        public Criteria andUsersSexEqualTo(Integer value) {
            addCriterion("users_sex =", value, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersSexNotEqualTo(Integer value) {
            addCriterion("users_sex <>", value, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersSexGreaterThan(Integer value) {
            addCriterion("users_sex >", value, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersSexGreaterThanOrEqualTo(Integer value) {
            addCriterion("users_sex >=", value, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersSexLessThan(Integer value) {
            addCriterion("users_sex <", value, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersSexLessThanOrEqualTo(Integer value) {
            addCriterion("users_sex <=", value, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersSexIn(List<Integer> values) {
            addCriterion("users_sex in", values, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersSexNotIn(List<Integer> values) {
            addCriterion("users_sex not in", values, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersSexBetween(Integer value1, Integer value2) {
            addCriterion("users_sex between", value1, value2, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersSexNotBetween(Integer value1, Integer value2) {
            addCriterion("users_sex not between", value1, value2, "usersSex");
            return (Criteria) this;
        }

        public Criteria andUsersChargeIsNull() {
            addCriterion("users_charge is null");
            return (Criteria) this;
        }

        public Criteria andUsersChargeIsNotNull() {
            addCriterion("users_charge is not null");
            return (Criteria) this;
        }

        public Criteria andUsersChargeEqualTo(Integer value) {
            addCriterion("users_charge =", value, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersChargeNotEqualTo(Integer value) {
            addCriterion("users_charge <>", value, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersChargeGreaterThan(Integer value) {
            addCriterion("users_charge >", value, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersChargeGreaterThanOrEqualTo(Integer value) {
            addCriterion("users_charge >=", value, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersChargeLessThan(Integer value) {
            addCriterion("users_charge <", value, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersChargeLessThanOrEqualTo(Integer value) {
            addCriterion("users_charge <=", value, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersChargeIn(List<Integer> values) {
            addCriterion("users_charge in", values, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersChargeNotIn(List<Integer> values) {
            addCriterion("users_charge not in", values, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersChargeBetween(Integer value1, Integer value2) {
            addCriterion("users_charge between", value1, value2, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersChargeNotBetween(Integer value1, Integer value2) {
            addCriterion("users_charge not between", value1, value2, "usersCharge");
            return (Criteria) this;
        }

        public Criteria andUsersDateIsNull() {
            addCriterion("users_date is null");
            return (Criteria) this;
        }

        public Criteria andUsersDateIsNotNull() {
            addCriterion("users_date is not null");
            return (Criteria) this;
        }

        public Criteria andUsersDateEqualTo(Date value) {
            addCriterion("users_date =", value, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersDateNotEqualTo(Date value) {
            addCriterion("users_date <>", value, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersDateGreaterThan(Date value) {
            addCriterion("users_date >", value, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersDateGreaterThanOrEqualTo(Date value) {
            addCriterion("users_date >=", value, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersDateLessThan(Date value) {
            addCriterion("users_date <", value, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersDateLessThanOrEqualTo(Date value) {
            addCriterion("users_date <=", value, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersDateIn(List<Date> values) {
            addCriterion("users_date in", values, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersDateNotIn(List<Date> values) {
            addCriterion("users_date not in", values, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersDateBetween(Date value1, Date value2) {
            addCriterion("users_date between", value1, value2, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersDateNotBetween(Date value1, Date value2) {
            addCriterion("users_date not between", value1, value2, "usersDate");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionIsNull() {
            addCriterion("users_collection is null");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionIsNotNull() {
            addCriterion("users_collection is not null");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionEqualTo(Integer value) {
            addCriterion("users_collection =", value, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionNotEqualTo(Integer value) {
            addCriterion("users_collection <>", value, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionGreaterThan(Integer value) {
            addCriterion("users_collection >", value, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionGreaterThanOrEqualTo(Integer value) {
            addCriterion("users_collection >=", value, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionLessThan(Integer value) {
            addCriterion("users_collection <", value, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionLessThanOrEqualTo(Integer value) {
            addCriterion("users_collection <=", value, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionIn(List<Integer> values) {
            addCriterion("users_collection in", values, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionNotIn(List<Integer> values) {
            addCriterion("users_collection not in", values, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionBetween(Integer value1, Integer value2) {
            addCriterion("users_collection between", value1, value2, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersCollectionNotBetween(Integer value1, Integer value2) {
            addCriterion("users_collection not between", value1, value2, "usersCollection");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryIsNull() {
            addCriterion("users_history is null");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryIsNotNull() {
            addCriterion("users_history is not null");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryEqualTo(Integer value) {
            addCriterion("users_history =", value, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryNotEqualTo(Integer value) {
            addCriterion("users_history <>", value, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryGreaterThan(Integer value) {
            addCriterion("users_history >", value, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryGreaterThanOrEqualTo(Integer value) {
            addCriterion("users_history >=", value, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryLessThan(Integer value) {
            addCriterion("users_history <", value, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryLessThanOrEqualTo(Integer value) {
            addCriterion("users_history <=", value, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryIn(List<Integer> values) {
            addCriterion("users_history in", values, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryNotIn(List<Integer> values) {
            addCriterion("users_history not in", values, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryBetween(Integer value1, Integer value2) {
            addCriterion("users_history between", value1, value2, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersHistoryNotBetween(Integer value1, Integer value2) {
            addCriterion("users_history not between", value1, value2, "usersHistory");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordIsNull() {
            addCriterion("users_password is null");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordIsNotNull() {
            addCriterion("users_password is not null");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordEqualTo(String value) {
            addCriterion("users_password =", value, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordNotEqualTo(String value) {
            addCriterion("users_password <>", value, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordGreaterThan(String value) {
            addCriterion("users_password >", value, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("users_password >=", value, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordLessThan(String value) {
            addCriterion("users_password <", value, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordLessThanOrEqualTo(String value) {
            addCriterion("users_password <=", value, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordLike(String value) {
            addCriterion("users_password like", value, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordNotLike(String value) {
            addCriterion("users_password not like", value, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordIn(List<String> values) {
            addCriterion("users_password in", values, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordNotIn(List<String> values) {
            addCriterion("users_password not in", values, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordBetween(String value1, String value2) {
            addCriterion("users_password between", value1, value2, "usersPassword");
            return (Criteria) this;
        }

        public Criteria andUsersPasswordNotBetween(String value1, String value2) {
            addCriterion("users_password not between", value1, value2, "usersPassword");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}